package xyz.bali16.module.blog.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;


import javax.validation.constraints.Positive;
import java.time.LocalDateTime;
import java.util.List;

/**
 *
 * @author bali2 on 24/10/2021.
 * @version 1.0
 */
@Data
@TableName(value = "blog_article")
@Accessors(chain = true)
public class Article {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 发表用户
     */
    private String userId;

    /**
     * 文章类型: 0 原创 1 转载
     */
    private Integer type;

    /**
     * 文章标题
     */
    private String title;

    /**
     * 文章摘要
     */
    private String summary;

    /**
     * 文章内容html格式
     */
    private String content;


    /**
     * 文章状态 0已发布 1草稿 2回收站
     */
    private Integer status;

    /**
     * 是否私有 0公开 1私有
     */
    private Integer hidden;

    /**
     * 是否开启评论 0不开启 1开启
     */
    private Integer comment;

    /**
     * 文章路径
     */
    private String url;

    /**
     * 略缩图
     */
    private String thumbnail;

    /**
     * 访问量统计
     */
    private Long views;

    /**
     * 修改时间
     */
    private String gmtUpdated;

    /**
     * 发布时间
     */
    private String gmtCreated;

    /**
     *
     *  后面新增的功能 2021-10-25 22点05分
     *
     */

    /**
     * 作者名
     */
    private String author;

    /**
     * 站长推荐
     */
    private Integer recommended;

    /**
     * 关键词
     */
    private String keywords;

    /**
     * 分类id
     */
    private Long categoryId;

    @TableField(exist = false)
    private List<String> uploadTags;

//    /**
//     * 评论
//     */
//    private Long commentId;

    /**
     * 评论数量
     */
    @TableField(exist = false)
    private Integer commentCount;
//
    @TableField(exist = false)
    private List<Tag> tags;

    @TableField(exist = false)
    private List<Long> tagIds;

    @TableField(exist = false)
    private Category category;

}